Partition-Based Speed-Up of Dijkstra’s Algorithm
نویسندگان
چکیده
Determining the shortest path from one node to another in a graph is probably the most popular question in graph theory. If the graph is non-negatively weighted, Dijkstra’s algorithm is the classic algorithm used to answer this question. Because of its breadth-first-search character, this algorithm usually spreads circularly around the source node of the search and hence the search space can be very large. For the application of dealing with huge numbers of shortest-path queries in static graphs, we consider an algorithm, which uses preprocessed data to decrease the search space for each shortest-path request. The algorithm partitions the graph and, for each edge, the preprocessing considers the relevant regions which have the shortest path over this edge. We will see that the preprocessing scales well and usually runs in almost linear time. This document shows experimental results for several partitioning algorithms resulting in smaller search spaces on real-world street networks. The quality of these strategies will be compared. A two-level kd-tree with bidirectional search delivered the smallest search space for Dijkstra’s algorithm for most of the tested street networks. This paper was presented as ”Studienarbeit” at the university of Karlsruhe (TH) at the institute of Prof. Dr. D. Wagner. I would like to thank Thomas Willhalm and Heiko Schilling for this interesting topic, their ideas and help. Hiermit versichere ich, dass ich die vorliegende Arbeit selbständig angefertigt habe und nur die angegebenen Hilfsmittel und Quellen verwendet wurden. Karlsruhe, im November 2004
منابع مشابه
Acceleration of Shortest Path and Constrained Shortest Path Computation
We study acceleration methods for point-to-point shortest path and constrained shortest path computations in directed graphs, in particular in road and railroad networks. Our acceleration methods are allowed to use a preprocessing of the network data to create auxiliary information which is then used to speed-up shortest path queries. We focus on two methods based on Dijkstra’s algorithm for sh...
متن کاملبهبود بهروزرسانی پایگاه داده تحلیلی نیمهآنی
Near-real time data warehouse gives the end users the essential information to achieve appropriate decisions. Whatever the data are fresher in it, the decision would have a better result either. To achieve a fresh and up-to-date data, the changes happened in the side of source must be added to the data warehouse with little delay. For this reason, they should be transformed in to the data wareh...
متن کاملExploring Graph Partitioning for Shortest Path Queries on Road Networks
Computing the shortest path between two locations in a road network is an important problem that has found numerous applications. The classic solution for the problem is Dijkstra’s algorithm [1]. Although simple and elegant, the algorithm has proven to be inefficient for very large road networks. To address this deficiency of Dijkstra’s algorithm, a plethora of techniques that introduce some pr...
متن کاملContracting Timetable Information Networks
During the last years, impressive progress has been achieved in the field of speed-up techniques for DIJKSTRA’s algorithm. Due to the availability of road networks, most speed-up techniques were developed for such networks. The fastest known techniques use contraction, a procedure that reduces the graph size, in order to gain their impressive speed-ups. However, in a recent work it was observed...
متن کاملA partition-based algorithm for clustering large-scale software systems
Clustering techniques are used to extract the structure of software for understanding, maintaining, and refactoring. In the literature, most of the proposed approaches for software clustering are divided into hierarchical algorithms and search-based techniques. In the former, clustering is a process of merging (splitting) similar (non-similar) clusters. These techniques suffered from the drawba...
متن کامل